Certain sensitive commercial and industrial storage applications require secure hardware based identifiers (ID). Secure identifiers ensure the safe and reliable transfer of data. In order to remain secure, the IDs typically must be randomly created, non-volatile, and unobservable when subjected to factor analysis.
Conventionally, field programmable gate array programming is used to create a secure ID for coding encryption. SRAM bit storage cells initialize in a particular position based on the process variation. Unfortunately, not all of the bit storage cells initialize as predicted, creating difficulties in verification. Variations in initializing position can be caused by numerous external factors including environmental conditions. Furthermore, usage of non-volatile memory to store bit addresses adds overhead area and integration complexity. Lastly, conventional systems include an interface that may be leveraged in a reverse engineering attempt.